package com.onlineClass.edu.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 课程表
 * </p>
 *
 * @author denghui
 * @since 2024-05-03
 */
@TableName("edu_course")
@ApiModel(value = "EduCourse对象", description = "课程表")
public class EduCourse implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("课程编号")
      @TableId(value = "COURSE_ID", type = IdType.AUTO)
    private Integer courseId;

    @ApiModelProperty("课程名称")
    private String courseName;

    @ApiModelProperty("1正常2删除")
    private Integer isAvaliable;

    @ApiModelProperty("课程专业ID")
    private Integer subjectId;

    @ApiModelProperty("课程专业链")
    private String subjectLink;

    @ApiModelProperty("添加时间")
    private LocalDateTime addTime;

    @ApiModelProperty("课程原价格（只显示）")
    private BigDecimal sourcePrice;

    @ApiModelProperty("课程销售价格（实际支付价格）设置为0则可免费观看")
    private BigDecimal currentPrice;

    @ApiModelProperty("课程简介")
    private String title;

    @ApiModelProperty("课程详情")
    private String context;

    @ApiModelProperty("总课时")
    private Integer lessionNum;

    @ApiModelProperty("图片路径")
    private String logo;

    @ApiModelProperty("最后更新时间")
    private LocalDateTime updateTime;

    @ApiModelProperty("销售数量")
    private Integer pageBuycount;

    @ApiModelProperty("浏览数量")
    private Integer pageViewcount;

    @ApiModelProperty("有效结束时间")
    private LocalDateTime endTime;

    @ApiModelProperty("有效期类型，0：到期时间，1：按天数")
    private Integer losetype;

    @ApiModelProperty("有效期:商品订单过期时间点")
    private String loseTime;

    @ApiModelProperty("课程资料地址")
    private String courseMaterials;


    public Integer getCourseId() {
        return courseId;
    }

    public void setCourseId(Integer courseId) {
        this.courseId = courseId;
    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public Integer getIsAvaliable() {
        return isAvaliable;
    }

    public void setIsAvaliable(Integer isAvaliable) {
        this.isAvaliable = isAvaliable;
    }

    public Integer getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(Integer subjectId) {
        this.subjectId = subjectId;
    }

    public String getSubjectLink() {
        return subjectLink;
    }

    public void setSubjectLink(String subjectLink) {
        this.subjectLink = subjectLink;
    }

    public LocalDateTime getAddTime() {
        return addTime;
    }

    public void setAddTime(LocalDateTime addTime) {
        this.addTime = addTime;
    }

    public BigDecimal getSourcePrice() {
        return sourcePrice;
    }

    public void setSourcePrice(BigDecimal sourcePrice) {
        this.sourcePrice = sourcePrice;
    }

    public BigDecimal getCurrentPrice() {
        return currentPrice;
    }

    public void setCurrentPrice(BigDecimal currentPrice) {
        this.currentPrice = currentPrice;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContext() {
        return context;
    }

    public void setContext(String context) {
        this.context = context;
    }

    public Integer getLessionNum() {
        return lessionNum;
    }

    public void setLessionNum(Integer lessionNum) {
        this.lessionNum = lessionNum;
    }

    public String getLogo() {
        return logo;
    }

    public void setLogo(String logo) {
        this.logo = logo;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getPageBuycount() {
        return pageBuycount;
    }

    public void setPageBuycount(Integer pageBuycount) {
        this.pageBuycount = pageBuycount;
    }

    public Integer getPageViewcount() {
        return pageViewcount;
    }

    public void setPageViewcount(Integer pageViewcount) {
        this.pageViewcount = pageViewcount;
    }

    public LocalDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalDateTime endTime) {
        this.endTime = endTime;
    }

    public Integer getLosetype() {
        return losetype;
    }

    public void setLosetype(Integer losetype) {
        this.losetype = losetype;
    }

    public String getLoseTime() {
        return loseTime;
    }

    public void setLoseTime(String loseTime) {
        this.loseTime = loseTime;
    }

    public String getCourseMaterials() {
        return courseMaterials;
    }

    public void setCourseMaterials(String courseMaterials) {
        this.courseMaterials = courseMaterials;
    }

    @Override
    public String toString() {
        return "EduCourse{" +
        "courseId=" + courseId +
        ", courseName=" + courseName +
        ", isAvaliable=" + isAvaliable +
        ", subjectId=" + subjectId +
        ", subjectLink=" + subjectLink +
        ", addTime=" + addTime +
        ", sourcePrice=" + sourcePrice +
        ", currentPrice=" + currentPrice +
        ", title=" + title +
        ", context=" + context +
        ", lessionNum=" + lessionNum +
        ", logo=" + logo +
        ", updateTime=" + updateTime +
        ", pageBuycount=" + pageBuycount +
        ", pageViewcount=" + pageViewcount +
        ", endTime=" + endTime +
        ", losetype=" + losetype +
        ", loseTime=" + loseTime +
        ", courseMaterials=" + courseMaterials +
        "}";
    }
}
